package server

import "time"

type ServerWriteIdleTimeout struct {
	session *Session
}

func (x *ServerWriteIdleTimeout) OnTimeout() {
	x.session.sessionHandle.OnWriteIdleTimeout(x.session)
}

func (x *ServerWriteIdleTimeout) IsTimeout() bool {
	return x.session.lastWriteAt.Add(x.session.writeIdleTimeout).Before(time.Now())
}

func NewServerWriteIdleTimeout(session *Session) *ServerWriteIdleTimeout {
	return &ServerWriteIdleTimeout{
		session: session,
	}
}
